﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UIWindows.Attributes;

namespace UIWindows.Models.ParameterModels
{
    public class MESParameterModel : INotifyPropertyChanged
    {
        [Description("其它服务器地址")]
        public string OthenDatabaseurl { get; set; } = @"server=127.0.0.1;port=3306;user=root;password=admin999; database=weightdb;CharSet=utf8mb4;Allow User Variables=True;";
        //[Description("MES服务器地址")]
        public string BaseUrl { get; set; } = @"http://47.97.104.170:13308/aiipcapi/";

        #region 员工权限校验
        /// <summary>
        /// 用户校验
        /// </summary>
        [Description("用户校验")][UIMark("员工权限校验")] public string AccountRoute { get; set; } = "http://192.168.91.204:9003/api/Common/CheckWorkUser";
        /// <summary>
        /// 用户校验超时时间
        /// </summary>
        [Description("用户校验超时时间")][UIMark("用户校验超时时间")] public int AccountTime { get; set; } = 5000;
        /// <summary>
        /// 用户校验间隔时间调用
        /// </summary>
        [Description("用户校验间隔时间调用")][UIMark("用户校验间隔时间调用")] public int AccountNumber { get; set; } = 700;

        #endregion

        #region 工单获取
        /// <summary>
        ///工单获取
        /// </summary>
        [Description("工单获取")][UIMark("工单获取")] public string GetByProductCodeRoute { get; set; } = "http://192.168.91.204/JGWebService/JGWebService.asmx?op=List_WorkOrder";
        /// <summary>
        /// 工单获取超时时间
        /// </summary>
        [Description("工单获取超时时间")][UIMark("工单获取超时时间")] public int GetByProductCodeTime { get; set; } = 5000;
        /// <summary>
        /// 工单获取间隔时间调用
        /// </summary>
        [Description("工单获取间隔时间调用")][UIMark("工单获取间隔时间调用")] public int GetByProductCodeNumber { get; set; } = 60000;
        #endregion

        #region 工艺参数
        /// <summary>
        ///工艺参数
        /// </summary>
        [Description("工艺参数")][UIMark("工艺参数")] public string EquipUploadParamRoute { get; set; } = "http://192.168.91.204:9002/api/Assembly/Assembly_ProcessParams";
        /// <summary>
        /// 工艺参数超时时间
        /// </summary>
        [Description("工艺参数上传超时时间")][UIMark("工艺参数上传超时时间")] public int EquipUploadParamTime { get; set; } = 5000;
        /// <summary>
        ///工艺参数间隔时间调用
        /// </summary>
        [Description("工艺参数间隔时间调用")][UIMark("工艺参数间隔时间调用")] public int EquipUploadParamNumber { get; set; } = 600000;
        #endregion

        #region 标准参数
        /// <summary>
        ///标准参数
        /// </summary>
        [Description("标准参数")][UIMark("标准参数")] public string GeneralDataRoute { get; set; } = "http://192.168.91.204:9003/api/Common/Get_StandardParams";
        /// <summary>
        /// 标准参数超时时间
        /// </summary>
        [Description("标准参数超时时间")][UIMark("标准参数超时时间")] public int GeneralDataTime { get; set; } = 5000;
        /// <summary>
        /// 标准参数间隔时间调用
        /// </summary>
        [Description("标准参数间隔时间调用")][UIMark("标准参数间隔时间调用")] public int GeneralDataNumber { get; set; } = 1800000;
        #endregion

        #region 参数超限
        /// <summary>
        ///参数超限
        /// </summary>
        [Description("参数超限")][UIMark("参数超限")] public string ParmLimitRoute { get; set; } = "http://192.168.91.204:9003/api/Common/Get_OverrunParams";
        /// <summary>
        /// 参数超限超时时间
        /// </summary>
        [Description("参数超限")][UIMark("参数超限")] public int ParmLimitTime { get; set; } = 5000;
        /// <summary>
        ///参数超限间隔时间调用
        /// </summary>
        [Description("参数超限间隔时间调用")][UIMark("参数超限间隔时间调用")] public int ParmLimitNumber { get; set; } = 60000;
        #endregion

        #region 设备履历接口
        /// <summary>
        ///设备履历接口
        /// </summary>
        [Description("设备履历")][UIMark("设备履历")] public string EquipmentStatusRoute { get; set; } = "http://192.168.91.204:9003/api/Common/EquipmentStatusLog";
        /// <summary>
        /// 设备履历超时时间
        /// </summary>
        [Description("设备履历超时时间")][UIMark("设备履历超时时间")] public int EquipmentStatusTime { get; set; } = 5000;
        /// <summary>
        /// 设备履历间隔时间调用
        /// </summary>
        [Description("设备履历间隔时间调用")][UIMark("设备履历间隔时间调用")] public int EquipmentStatusNumber { get; set; } = 800;
        #endregion

        #region 设备报修
        /// <summary>
        /// 设备报修
        /// </summary>
        [Description("设备报修")][UIMark("设备报修")] public string EquipmentMaintainRouter { get; set; } = "http://192.168.91.204:9003/api/Common/EquipmentRepair";
        /// <summary>
        /// 设备报修超时时间
        /// </summary>
        [Description("设备报修超时时间")][UIMark("设备报修超时时间")] public int EquipmentMaintainTime { get; set; } = 5000;
        /// <summary>
        /// 设备报修间隔时间调用
        /// </summary>
        [Description("设备报修间隔时间调用")][UIMark("设备报修间隔时间调用")] public int EquipmentMaintainNumber { get; set; } = 60000;
        #endregion

        #region 生产统计(小时)
        /// <summary>
        /// 生产统计(小时)
        /// </summary>
        [Description("生产统计(小时)")][UIMark("生产统计(小时)")] public string ProductCountDataRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/Assemble_HourStatistics";
        /// <summary>
        /// 生产统计(小时)收集超时时间
        /// </summary>
        [Description("生产统计(小时)超时时间")][UIMark("生产统计(小时)收集超时时间")] public int ProductCountDataTime { get; set; } = 5000;
        /// <summary>
        /// 生产统计(小时)收集间隔时间调用
        /// </summary>
        [Description("生产统计(小时)间隔时间调用")][UIMark("生产统计(小时)间隔时间调用")] public int ProductCountDataNumber { get; set; } = 60000;
        #endregion


        #region 生产统计(天)接口
        /// <summary>
        /// 生产统计(天)接口
        /// </summary>
        [Description("生产统计(天)接口")][UIMark("生产统计(天)接口")] public string ProductCountData_DayRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/Assemble_Statistics";
        /// <summary>
        /// 生产统计(天)接口收集超时时间
        /// </summary>
        [Description("生产统计(天)超时时间")][UIMark("生产统计(天)收集超时时间")] public int ProductCountData_DayTime { get; set; } = 5000;
        /// <summary>
        /// 生产统计(天)接口收集间隔时间调用
        /// </summary>
        [Description("生产统计(天)间隔时间调用")][UIMark("生产统计(天)间隔时间调用")] public int ProductCountData_DayNumber { get; set; } = 60000;
        #endregion

        #region 卷芯上料入站
        /// <summary>
        /// 卷芯上料入站
        /// </summary>
        [Description("卷芯上料入站")][UIMark("卷芯上料入站")] public string WinderInRecordRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/Winder_InRecord";
        /// <summary>
        /// 卷芯上料入站超时时间
        /// </summary>
        [Description("卷芯上料入站超时时间")][UIMark("卷芯上料入站更换超时时间")] public int WinderInRecordTime { get; set; } = 5000;
        /// <summary>
        /// 卷芯上料入站间隔时间调用
        /// </summary>
        [Description("卷芯上料入站间隔时间调用")][UIMark("卷芯上料入站间隔时间调用")] public int WinderInRecordNumber { get; set; } = 60000;
        #endregion



        #region 装盘机出站履历
        /// <summary>
        /// 装盘机出站履历
        /// </summary>
        [Description("装盘机出站履历")][UIMark("装盘机出站履历")] public string WinderOutRecordRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/Winder_OutRecord";
        /// <summary>
        /// 装盘机出站履历超时时间
        /// </summary>
        [Description("装盘机出站履历超时时间")][UIMark("装盘机出站履历超时时间")] public int WinderOutRecordTime { get; set; } = 5000;
        /// <summary>
        /// 装盘机出站履历间隔时间调用
        /// </summary>
        [Description("装盘机出站履历间隔时间调用")][UIMark("装盘机出站履历间隔时间调用")] public int WinderOutRecordNumber { get; set; } = 60000;
        #endregion

        #region 注液上料(拆盘)扫描记录
        /// <summary>
        /// 注液上料(拆盘)扫描记录
        /// </summary>
        [Description("注液上料(拆盘)扫描记录")][UIMark("注液上料(拆盘)扫描记录")] public string OeeWarningRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/LiquidFilling_ScanningRecord";
        /// <summary>
        /// 注液上料(拆盘)扫描记录超时时间
        /// </summary>
        [Description("注液上料(拆盘)扫描记录超时时间")][UIMark("注液上料(拆盘)扫描记录超时时间")] public int OeeWarningTime { get; set; } = 5000;
        /// <summary>
        /// 注液上料(拆盘)扫描记录间隔时间调用
        /// </summary>
        [Description("注液上料(拆盘)扫描记录间隔时间调用")][UIMark("注液上料(拆盘)扫描记录间隔时间调用")] public int OeeWarningNumber { get; set; } = 60000;
        #endregion

        #region 预充托盘明细
        /// <summary>
        /// 预充托盘明细
        /// </summary>
        [Description("预充托盘明细")][UIMark("预充托盘明细")] public string OeeCapacityRouter { get; set; } = "http://192.168.91.204:9002/api/Assembly/Precharge_TrayInfo";
        /// <summary>
        /// 预充托盘明细超时时间
        /// </summary>
        [Description("预充托盘明细超时时间")][UIMark("预充托盘明细超时时间")] public int OeeCapacityTime { get; set; } = 5000;
        /// <summary>
        /// 预充托盘明细间隔时间调用
        /// </summary>
        [Description("预充托盘明细间隔时间调用")][UIMark("预充托盘明细间隔时间调用")] public int OeeCapacityNumber { get; set; } = 60000;
        #endregion


        public event PropertyChangedEventHandler? PropertyChanged;
    }
}
